package com.qinsilk.axon.inventory.command

import org.axonframework.modelling.command.TargetAggregateIdentifier

data class CreateInventoryCommand(
        @TargetAggregateIdentifier val inventoryId: String,
        val productName: String,
        val initialQuantity: Int
)

data class StockInCommand(
        @TargetAggregateIdentifier val inventoryId: String,
        val quantity: Int,
        val reason: String
)

data class StockOutCommand(
        @TargetAggregateIdentifier val inventoryId: String,
        val quantity: Int,
        val reason: String
)

data class CancelOperationCommand(
        @TargetAggregateIdentifier val inventoryId: String,
        val eventId: String
)
